{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四节：高阶数据探索"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.2 高阶数据探索实战"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "### 4.2.1 数据读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "### 数据读取\n",
    "path  = '../security_data/'\n",
    "train = pd.read_csv(path + 'security_train.csv')\n",
    "test  = pd.read_csv(path + 'security_test.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>file_id</th>\n",
       "      <th>label</th>\n",
       "      <th>api</th>\n",
       "      <th>tid</th>\n",
       "      <th>index</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>LdrLoadDll</td>\n",
       "      <td>2488</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>LdrGetProcedureAddress</td>\n",
       "      <td>2488</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>LdrGetProcedureAddress</td>\n",
       "      <td>2488</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>LdrGetProcedureAddress</td>\n",
       "      <td>2488</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>LdrGetProcedureAddress</td>\n",
       "      <td>2488</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   file_id  label                     api   tid  index\n",
       "0        1      5              LdrLoadDll  2488      0\n",
       "1        1      5  LdrGetProcedureAddress  2488      1\n",
       "2        1      5  LdrGetProcedureAddress  2488      2\n",
       "3        1      5  LdrGetProcedureAddress  2488      3\n",
       "4        1      5  LdrGetProcedureAddress  2488      4"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.2.2 多变量交叉探索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_analysis = train[['file_id','label']].drop_duplicates(subset = ['file_id','label'], keep = 'last')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "dic_ = train['file_id'].value_counts().to_dict()\n",
    "train_analysis['file_id_cnt'] = train_analysis['file_id'].map(dic_).values "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2046     1\n",
       "231      1\n",
       "6786     1\n",
       "12547    1\n",
       "260      1\n",
       "262      1\n",
       "5282     1\n",
       "5001     1\n",
       "18028    1\n",
       "205      1\n",
       "110      1\n",
       "463      1\n",
       "816      1\n",
       "5073     1\n",
       "10002    1\n",
       "118      1\n",
       "13879    1\n",
       "5447     1\n",
       "12964    1\n",
       "480      1\n",
       "Name: file_id_cnt, dtype: int64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_analysis['file_id_cnt'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb025f988>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(train_analysis['file_id_cnt'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "There are 0.75 data are below 10000\n"
     ]
    }
   ],
   "source": [
    "print('There are {} data are below 10000'.format(np.sum(train_analysis['file_id_cnt'] <= 1e4) / train_analysis.shape[0]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "###  file_id_cnt & label 分析\n",
    "def file_id_cnt_cut(x):\n",
    "    if x< 15000:\n",
    "        return x // 1e3\n",
    "    else:\n",
    "        return 15 \n",
    "\n",
    "train_analysis['file_id_cnt_cut'] = train_analysis['file_id_cnt'].map(file_id_cnt_cut).values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.figure(figsize=[16,20])\n",
    "plt.subplot(321) \n",
    "train_analysis[train_analysis['file_id_cnt_cut'] == 0]['label'].value_counts().sort_index().plot(kind = 'bar')\n",
    "plt.title('file_id_cnt_cut = 0')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number')\n",
    "\n",
    "plt.subplot(322)\n",
    "train_analysis[train_analysis['file_id_cnt_cut'] == 1]['label'].value_counts().sort_index().plot(kind = 'bar')\n",
    "plt.title('file_id_cnt_cut = 1')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number')\n",
    " \n",
    "plt.subplot(323)\n",
    "train_analysis[train_analysis['file_id_cnt_cut'] == 14]['label'].value_counts().sort_index().plot(kind = 'bar')\n",
    "plt.title('file_id_cnt_cut = 14')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number')\n",
    "\n",
    "plt.subplot(324)\n",
    "train_analysis[train_analysis['file_id_cnt_cut'] == 15]['label'].value_counts().sort_index().plot(kind = 'bar')\n",
    "plt.title('file_id_cnt_cut = 15')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number')\n",
    "\n",
    "plt.subplot(313) \n",
    "train_analysis['label'].value_counts().sort_index().plot(kind = 'bar') \n",
    "plt.title('All Data')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb0221048>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[16,10])\n",
    "sns.swarmplot(x =train_analysis.iloc[:1000]['label'], y = train_analysis.iloc[:1000]['file_id_cnt'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### file_id & api 分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "dic_ = train.groupby('file_id')['api'].nunique().to_dict()\n",
    "train_analysis['file_id_api_nunique'] = train_analysis['file_id'].map(dic_).values "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb077fd48>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(train_analysis['file_id_api_nunique']) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count     20.000000\n",
       "mean      57.300000\n",
       "std       29.449511\n",
       "min       23.000000\n",
       "25%       29.000000\n",
       "50%       56.500000\n",
       "75%       75.500000\n",
       "max      116.000000\n",
       "Name: file_id_api_nunique, dtype: float64"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_analysis['file_id_api_nunique'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'label_number')"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_analysis.loc[train_analysis.file_id_api_nunique >=100]['label'].value_counts().sort_index().plot(kind = 'bar') \n",
    "plt.title('File with api nunique >= 100')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb0849c48>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[16,10])\n",
    "sns.boxplot(x =train_analysis['label'], y = train_analysis['file_id_api_nunique'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### file_id & index 分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "dic_ = train.groupby('file_id')['index'].nunique().to_dict()\n",
    "train_analysis['file_id_index_nunique'] = train_analysis['file_id'].map(dic_).values "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count      20.000000\n",
       "mean     2055.750000\n",
       "std      2127.864456\n",
       "min        55.000000\n",
       "25%       224.250000\n",
       "50%      1162.000000\n",
       "75%      5001.000000\n",
       "max      5001.000000\n",
       "Name: file_id_index_nunique, dtype: float64"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_analysis['file_id_index_nunique'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb091e948>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(train_analysis['file_id_index_nunique']) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### file_id_index_nunique + label 分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.figure(figsize=[16,8])\n",
    "plt.subplot(121)\n",
    "train_analysis.loc[train_analysis.file_id_index_nunique == 1]['label'].value_counts().sort_index().plot(kind = 'bar') \n",
    "plt.title('File with index nunique = 1')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number') \n",
    "\n",
    "plt.subplot(122)\n",
    "train_analysis.loc[train_analysis.file_id_index_nunique == 5001]['label'].value_counts().sort_index().plot(kind = 'bar') \n",
    "plt.title('File with index nunique = 5001')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb08f48c8>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[16,10])\n",
    "sns.violinplot(x =train_analysis['label'], y = train_analysis['file_id_api_nunique'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### file_id & index & max"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "dic_ = train.groupby('file_id')['index'].max().to_dict()\n",
    "train_analysis['file_id_index_max'] = train_analysis['file_id'].map(dic_).values "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb09ca5c8>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(train_analysis['file_id_index_max']) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb0a2b308>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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qsoVV16Rp13ztDzz65+Za6+9Ni9+8Yvz0pe+1AnpktusCFemaS5mMFrbk2Wt73jM4fJpD8DK+Omf/un8/M///NbjdklLrkraH2nJJdnsPnxxSy7O5te82rrq59OPJddff31uuOGGJMkv/odfHLhBuyyG6z08pYA9zXbV+tHNr3q0knNJHknufeDe3PuFe/MHv/8HW9/y2te+Nj/yIz/y1H8PerdZEU5a21xTGMbI8knLwScIACvjZS97WT7ykY/k7rvvTpLNauGdSX2lMrlksjm29uJpcnHSLmo7w/C8W/Jil+TFKu8SVXiftIuSm2++Ocns9vjA7Tmolp3V44Uu2lvdsxdC8Hx88+TRSerRSnukpU13huurv+7qvOxlLzvc34MnbTKZmDWa0dtdEbYvD0MQBmBlXHfddfmlX/qlPPTQQ7n99tvzla98JXfffXfuueee3Hfffbnvvvty//335/4H7s+D9z6Yhx9+OOuP7W+pocUxv+1YS1trO8f87u4mvXC/HWt7d6E+lsOpRl+UnL3vbG666abNx5cewv8z2Uwr63t8bezq7ryRx92fP18btfk1e/xkxhQfu+hYTp06lcsuuyxXXHNFrrhi8+vKK6/MVVddlWuuuSbPeMYzcu211+bSSw/rTeEg1tbWtmaNVkVjrHYHYUMyhuFdB2DlXHrppXnhC1+YF77whRd87blz53L27NmtSbPOt4zRI488snU7nyn6zNnNWaAfOftIzj64OanWo+ce3d8s0DM1mY1PXgzYF80C9kULE2fNq9YXz6rW8+7dx3PBMcntdHvCx4//hmwG0nPZ6lacx7Yrq4sTZdVjtXU7D61b43SnT+J9WJxl+pITueTEJVszTS/OID2fdfp8yzbNJ8qazzDNalmcNVoVjbGa77u6Rg9LEOZQWEsSWFbHjx/P8ePHc/r06U5+Xmstjz766I4lleaBenGJpd3hejF8z2esfuihh3L2zGbAfqJwXccqdUllenyadklLmzz+te2ShW2PJPWbOz+Xa1qpRyqTc5PNrsMXmGzqkhOX5MTJE7n01KU5dcWpnDp5akcY3b3s0e5lknbfv/jiix0ruKDFrtHCA2Ola/RyEITpxaWXXpoHHnggbXJRavpYrr766qGbBHAoqmorXHdlOp1uVa0feuihPPjgg1vLQN1///257777cu+99+aee+7JXXff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\n",
      "text/plain": [
       "<Figure size 1152x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[16,10])\n",
    "sns.violinplot(x =train_analysis['label'], y = train_analysis['file_id_index_max'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb0aa5e08>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[16,10])\n",
    "sns.stripplot(x =train_analysis['label'], y = train_analysis['file_id_index_max'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### file_id & tid 分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "dic_ = train.groupby('file_id')['tid'].nunique().to_dict()\n",
    "train_analysis['file_id_tid_nunique'] = train_analysis['file_id'].map(dic_).values "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    20.000000\n",
       "mean      9.600000\n",
       "std       9.986306\n",
       "min       1.000000\n",
       "25%       2.000000\n",
       "50%       5.000000\n",
       "75%      13.500000\n",
       "max      32.000000\n",
       "Name: file_id_tid_nunique, dtype: float64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_analysis['file_id_tid_nunique'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb0d65848>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(train_analysis['file_id_tid_nunique']) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### file_id_tid_nunique & label 分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'label_number')"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[16,8])\n",
    "plt.subplot(121)\n",
    "train_analysis.loc[train_analysis.file_id_tid_nunique < 5]['label'].value_counts().sort_index().plot(kind = 'bar') \n",
    "plt.title('File with tid nunique < 5')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number') \n",
    "\n",
    "plt.subplot(122)\n",
    "train_analysis.loc[train_analysis.file_id_tid_nunique >= 20]['label'].value_counts().sort_index().plot(kind = 'bar') \n",
    "plt.title('File with tid nunique >= 20')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb11cb648>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[12,8])\n",
    "sns.boxplot(x =train_analysis['label'], y = train_analysis['file_id_tid_nunique'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb0fadf08>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[12,8])\n",
    "sns.violinplot(x =train_analysis['label'], y = train_analysis['file_id_tid_nunique'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### file_id & tid & max"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "dic_ = train.groupby('file_id')['tid'].max().to_dict()\n",
    "train_analysis['file_id_tid_max'] = train_analysis['file_id'].map(dic_).values "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count      20.000000\n",
       "mean     2701.800000\n",
       "std       255.151472\n",
       "min      2208.000000\n",
       "25%      2554.000000\n",
       "50%      2804.000000\n",
       "75%      2841.000000\n",
       "max      3060.000000\n",
       "Name: file_id_tid_max, dtype: float64"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_analysis['file_id_tid_max'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1dbb102ba88>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(train_analysis['file_id_tid_max']) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### file_id_tid_max & label 分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'label_number')"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[16,8])\n",
    "plt.subplot(121)\n",
    "train_analysis.loc[train_analysis.file_id_tid_max >= 3000]['label'].value_counts().sort_index().plot(kind = 'bar') \n",
    "plt.title('File with tid max >= 3000')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number') \n",
    " \n",
    "plt.subplot(122)\n",
    "train_analysis['label'].value_counts().sort_index().plot(kind = 'bar') \n",
    "plt.title('All Data')\n",
    "plt.xlabel('label')\n",
    "plt.ylabel('label_number')  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### api & label"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['api_label'] = train['api'] + '_' + train['label'].astype(str)\n",
    "dic_ = train['api_label'].value_counts().to_dict()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "df_api_label = pd.DataFrame.from_dict(dic_,orient = 'index').reset_index()\n",
    "df_api_label.columns = ['api_label', 'api_label_count']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_api_label['label'] = df_api_label['api_label'].apply(lambda x:int(x.split('_')[-1]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "************************************************** 0 **************************************************\n",
      "                  api_label  api_label_count\n",
      "7  LdrGetProcedureAddress_0             2852\n",
      "5           NtOpenProcess_0             3355\n",
      "4                 NtClose_0             3808\n",
      "3     NtReadVirtualMemory_0             4962\n",
      "2        RegQueryValueExW_0             7334\n",
      "*******************************************************************************************************\n",
      "************************************************** 1 **************************************************\n",
      "                    api_label  api_label_count\n",
      "206           RegOpenKeyExW_1               24\n",
      "172        RegQueryValueExA_1               34\n",
      "166             RegCloseKey_1               38\n",
      "110                 NtClose_1               87\n",
      "81   LdrGetProcedureAddress_1              150\n",
      "*******************************************************************************************************\n",
      "************************************************** 2 **************************************************\n",
      "                    api_label  api_label_count\n",
      "124      NtMapViewOfSection_2               75\n",
      "123         NtCreateSection_2               75\n",
      "115            NtCreateFile_2               80\n",
      "79   LdrGetProcedureAddress_2              157\n",
      "70                  NtClose_2              236\n",
      "*******************************************************************************************************\n",
      "************************************************** 3 **************************************************\n",
      "Empty DataFrame\n",
      "Columns: [api_label, api_label_count]\n",
      "Index: []\n",
      "*******************************************************************************************************\n",
      "************************************************** 4 **************************************************\n",
      "Empty DataFrame\n",
      "Columns: [api_label, api_label_count]\n",
      "Index: []\n",
      "*******************************************************************************************************\n",
      "************************************************** 5 **************************************************\n",
      "                   api_label  api_label_count\n",
      "19        GetSystemMetrics_5             1249\n",
      "17             RegCloseKey_5             1436\n",
      "14           RegOpenKeyExW_5             1525\n",
      "1   LdrGetProcedureAddress_5             8025\n",
      "0             Thread32Next_5             9410\n",
      "*******************************************************************************************************\n",
      "************************************************** 6 **************************************************\n",
      "Empty DataFrame\n",
      "Columns: [api_label, api_label_count]\n",
      "Index: []\n",
      "*******************************************************************************************************\n",
      "************************************************** 7 **************************************************\n",
      "                   api_label  api_label_count\n",
      "20                 NtClose_7             1161\n",
      "15         NtQueryValueKey_7             1516\n",
      "12           RegOpenKeyExW_7             1661\n",
      "10        RegQueryValueExW_7             1776\n",
      "6   LdrGetProcedureAddress_7             3147\n",
      "*******************************************************************************************************\n"
     ]
    }
   ],
   "source": [
    "labels = df_api_label['label'].unique()\n",
    "for label in range(8):\n",
    "    print('*' * 50, label,'*' * 50)\n",
    "    print(df_api_label.loc[df_api_label.label == label].sort_values('api_label_count').iloc[-5:][['api_label','api_label_count']])\n",
    "    print('*' * 103)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  },
  "latex_envs": {
   "LaTeX_envs_menu_present": true,
   "autoclose": false,
   "autocomplete": true,
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 1,
   "hotkeys": {
    "equation": "Ctrl-E",
    "itemize": "Ctrl-I"
   },
   "labels_anchors": false,
   "latex_user_defs": false,
   "report_style_numbering": false,
   "user_envs_cfg": false
  },
  "toc": {
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": true,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
